Location Types for Safe Distributed Object-Oriented Programming
نویسندگان
چکیده
In distributed object-oriented systems, objects belong to different locations. For example, in Java RMI, objects can be distributed over different JVM instances. Accessing a reference in RMI has crucial different semantics depending on whether the referred object is local or remote. Nevertheless, such references are not statically distinguished by the type system. This paper presents location types, which statically distinguish far from near references. We present a formal type system for a minimal core language. In addition, we present a type inference system that gives optimal solutions. We implemented location types as a pluggable type system for the ABS language, an object-oriented language with a concurrency model based on concurrent object groups. An important contribution of this paper is the combination of the type system with the flexible inference system and a novel integration into an Eclipse-based IDE by presenting the inference results as overlays. This drastically reduces the annotation overhead while providing full static type information to the user. The IDE integration is a general approach of its own and can be applied to many other type system extensions.
منابع مشابه
Safe-Threads: A New Model for Object-Oriented Multi-Threaded Languages
Threads have been present in programming languages for some time now. However, they have a bad image among software developers because they lead to unreliable applications. Most of the problems are produced by unexpected critical sections, which are very difficult to find. Little research has been done recently to increase the safety of thread programming. In this paper we present a new model o...
متن کاملDeclarative Semantics in Object-Oriented Software Development - A Taxonomy and Survey
One of the modern paradigms to develop an application is object oriented analysis and design. In this paradigm, there are several objects and each object plays some specific roles in applications. In an application, we must distinguish between procedural semantics and declarative semantics for their implementation in a specific programming language. For the procedural semantics, we can write a ...
متن کاملSmart Messages: An Object-Oriented Communication Mechanism for Parallel Systems
ABC++ is a portable object-oriented type-safe class library for parallel programming in C++. It supports active objects, synchronous and asyn-chronous object interactions, and object-based shared regions on both shared-and distributed-memory parallel computers. ABC++ is written in, and compatible with, standard C++: no language extensions or pre-processors are used. This paper focuses on its us...
متن کاملSmart Messages: An Object-Oriented Communication Mechanism
ABC++ is a portable object-oriented type-safe class library for concurrent programming. It supports active objects, synchronous and asyn-chronous object interactions, and object-based shared regions on both shared-and distributed-memory parallel computers. ABC++ is written in, and compatible with, standard C++: no language extensions or pre-processors are used. This paper focuses on the use of ...
متن کاملSound and Complete Type Inference for a Systems Programming Language
This paper introduces a new type system designed for safe systems programming. The type system features a new mutability model that combines unboxed types with a consistent typing of mutability. The type system is provably sound, supports polymorphism, and eliminates the need for alias analysis to determine the immutability of a location. A sound and complete type inference algorithm for this s...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
عنوان ژورنال:
دوره شماره
صفحات -
تاریخ انتشار 2011